Modules in Lua
A Lua module is commonly a file that constructs and returns a table. require loads the module and returns its exported value. For example,
-- calculator.lua
local calculator = {}
function calculator.add(a, b)
return a + b
end
function calculator.sub(a, b)
return a - b
end
return calculator
-- main.lua
local cal = require("calculator")
print(cal.add(2, 3))
print(cal.sub(3, 2))
require("parent.child") looks for parent/child.lua or parent/child/init.lua.